home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Python 1.3.3 / Python 133 68K / Lib / img / imgpxxx.py < prev    next >
Text File  |  1996-05-20  |  1KB  |  56 lines

  1. "Template for image file reader/writers in Python"
  2. #
  3. # Generic image reader/writer module, python version
  4. #
  5. error = 'imgpxxx.error'
  6.  
  7. class reader:
  8.     "Object that reads the image."
  9.     
  10.     def __init__(self, filename):
  11.     """Initialize. You should read the header and fill in attributes
  12.     such as width, height, format_choices, format and colormap"""
  13.     
  14.     self._filename = filename
  15.     self.width = 0
  16.     self.height = 0
  17.  
  18.     def args(self):
  19.     return self.__dict__
  20.     
  21.     def read(self):
  22.     "Read the image data"
  23.     
  24.     return ''
  25.  
  26.     def write(self, data):
  27.     raise error, 'Cannot write() to reader'
  28.  
  29. class writer:
  30.     "Object that writes to an image file"
  31.     
  32.     def __init__(self, filename):
  33.     self._filename = filename
  34.  
  35.     def args(self):
  36.     return self.__dict__
  37.     
  38.     def _get(self, attr):
  39.     try:
  40.         return getattr(self, attr)
  41.     except AttributeError:
  42.         raise error, "Required attribute '%s' missing"%attr
  43.  
  44.     def read(self):
  45.     raise error, 'Cannot read() from writer'
  46.  
  47.  
  48.     def write(self, data):
  49.     """Write the image file, according to attribute format"""
  50.     
  51.     w = self._get('width')
  52.     h = self._get('height')
  53.     if w*h != len(data):
  54.         raise error, 'Incorrect datasize'
  55.         
  56.